package com.asa.cc.jmeter;

public class H {

	
	/**
	 * 
	 * BeanShell简介
			●
			BeanShel是一种脚本语言， 一种完全符合java语法的java脚
			本语言，且具有自己的一些语法和方法
			●
			BeanShell是一种松散类型的脚本语言。下载地址:
			http://www.beanshell.org
			●
			设置环境
			把bsh-xx.jar放到$JAVA_ HOME/jre/lib/ext文件夹 下
			unix: export CLASSPATH= $CLASSPATH: bsh-xx.jar
			windows: set classpath %classpath%: bsh-xx.jar
			●
			运行方式
			●
			界面UI方式: java bsh.Console
			●
			命令行方式: java bsh.Interpreter
			●运行脚本文件: java bsh.Interpreter filename [ args ]

	 * 
	 * 
	 * 
	 * Jmeter Beanshell元件.
			JMeter提供了如下BeanShell元件用于测试计划的编写
			●BeanShell Sampler
			●BeanShell PreProcessor
			●BeanShell PostProcessor
			●BeanShell Assertion
			●BeanShell Listener
			●BeanShell Timer
	 * 
	 * 
	 * 
	 * 
	 * 
	 * BeanShell引用对象之vars ;
		●Vars (JMeterVariables):获取Jmeter中定义的变量，或设置变量
		●
		参见
		https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html	了解详细信息

	 * 
	 * 
	 * 
	 * BeanShell引用对象之props
			●
			Props (JMeterProperties): 获取Jmeter中的属性，或者设置
			属性
			●
			JMeterProperties， 即类java. util.Properties，如
			props.get (“START.HMS") ; props.put (“PROP1
			1234") ;
			●Log对象:利用此对象写日志，参见
			http://www，slf4j. org/api/org/slf4j/ ogger.html了解详
			细信息

	 * 
	 * 
	 * 
	 * 
	 * 
	 * BeanShell弓|用对象之SampleResult
			●SampleResult :获取响应数据，响应码等信息，只读
			●
			参见
			https://jmeter.apache.org/api/org/apache/imeter/sam
			plers/SampleResult. html了 解详细
			Prev:获取前一个响应数据

	 * 
	 * 
	 * 
	 * 
	 * 
	 * BeanShell引用对象
			●Response: 获取响应数据，只读
			●
			Failure:用来设置断言成功与否，Boolean类型
			●
			FailureMessage:用来设置失败信息
			●
			ResponseData:获取响应数据
			●ResponseCode:响应码
			●
			ResponseMessage:响应信 息
			●ResponseHeaders:响应头信 息
			●RequestHeaders: 请求头信息
			●SampleLabel: 取样器Label信息
			●
			SamplerData :发送给服务器的数据
			●Label:当前取样器的Label
			●
			FileName: BeanShell脚本名称
			Parameters: Parameters字段的参数
			Bsh.args:参数数组
			●
			IsSuccess:取样器成功与否

			

	 * 
	 * 
	 * 
	 * BeanShell取样器
	 * 
	 * 
		BeanShell取样器下的前置处理器
		print("----start ----");
		print("pre-processor");
		strArray =. new Stringli{"b" ,"d","a","c","e"}
		vars.putobject("strArray" , strArray);
		print(strArray);
		print("---- end----pre---");

		BeanShell取样器
		import java.util.Arrays;
		print ("beanshell samper start");
		strArray = vars.getobject("strArray");
		print(strArray);
		Arrays.sort(strArray);
		str = Arrays.toString(strArray);
		print(str);
		vars.putObject("strArray" ,strArray);
		SampleResult.setResponseData(str);
		print("end of sample");

		BeanShell取样器下的断言
		print ("assertion");
		finalString-vars.get("Finalstring");.
		if( !finalString.equals("a b c d e")){
		Fallure=true;
		FalureMessage= "Not a vald string";
		}
		print(f. inalString);
		print (SampleLabel);
		print (ResponseMessage);
		print (ResponseData);
		print (ResponseCode);
		print (ResponseHeaders);
		print (SamplerData) ;
		print(ctx); 



		
		单独BeanShell取样器例子
		log.info("Example");
		type =bsh.args[0];
		log.info(type);
		if ("1".equals(type)) {
		ResponseCode = 2 * 100;
		ResponseMessage = bsh.args[1];
		}else {
		ResponseCode = 500;
		ResponseMessage="Invalid Type: " + type;
		IsSuccess = false;
		}
		return Parameters ;

	 * 
	 * 
	 * 
	 * 
	 * 
	 */
	
	
	
	
	
	
}
